package object_oriented;

public class CashCow {
    public int height ;//表示摇钱树的高度，采用 int 即可
    public int goldPiece ;//表示金币数量，采用 int 类型即可
    public boolean wormy ;//表示摇钱树上是否有虫子，采用 boolean 类型即可 ( true 表示有虫子 、false 表示没有虫子 )
    public int pesticide ;//表示杀虫剂数量，采用 int 类型即可


    public void grow(){
        // 方法执行一次，摇钱树成长一次，高度增加 2 ，金币数量增加 10
        this.height += 2 ;
        this.goldPiece += 10 ;
    }
    public void buy(){
        // 当有金币时，从树上采摘金币购买农药
        // 每购买一次农药，金币减少 1 个，杀虫剂增加 100
        if(this.goldPiece != 0){
            this.goldPiece -= 10 ;
            this.pesticide += 100 ;
        }else {
            System.out.println( "金币不足！" );
        }
    }
    public void kill(){
        // 当有虫子时，执行杀虫操作
        // 每执行一次杀虫操作，杀虫剂减少 50 ， 金币增加 5 个
        if ( wormy ){
            this.pesticide -= 50 ;
            this.goldPiece += 5 ;
        }
    }
    public void watering(){
        // 每次浇水，金币数量增加 5 个，高度增加 1
        // 每次浇水都会导致虫子增加 ( 即 wormy 变为 true )
        this.goldPiece += 5 ;
        this.height += 1 ;
        this.wormy = true ;
    }
    public void show(){
        // 通过 show 方法显示 摇钱树的高度 、摇钱树上的金币数量 、是否用虫子 、杀虫剂数量
        System.out.println(  "\t\t摇钱树状态" );
        System.out.println(  "\t\t" + "高度：" + this.height );
        System.out.println(  "\t\t" + "金币数量：" + this.goldPiece );
        System.out.println(  "\t\t" + "是否有虫子：" + this.wormy );
        System.out.println(  "\t\t" + "杀虫剂数量：" + this.pesticide );
    }
}
